This invention relates to networking, and more particularly to determination of data transfer delay that is associated with TCP zero window events.
In a computer networking environment, users may install and deploy monitoring and/or troubleshooting tools for observation of network traffic and network installation and maintenance. The TCP protocol provides a reliable transport mechanism between two machines on a network.
In a TCP data exchange, a receiver advertises a window size representing the amount of information that a machine can receive during a TCP session and accept into the socket connection's receive buffer without dropping data. When a machine initiates a TCP connection to another machine, it will let the other machine know how much data it can receive by the advertised window size. A TCP zero window event is caused when a receiver advertises a zero window size or a window size less than the maximum segment size (MSS), meaning that a receiver (client) is not able to receive further information at the moment. The zero window advertisement notifies the sender (server) to halt TCP transmission to allow the receiver's application to process the information in the socket's receive buffer.
However, not all zero window events result in significant data transmission delay. For example, if the advertised window is less than MSS, but is still larger than the amount of data remaining to be sent, the sender can still send the data rather than
In accordance with the prior art, the existence of zero window events has been detected by network monitoring equipment, and reported as zero window events having occurred, but as noted above, the mere occurrence of a zero window event does not necessarily have an impact on data transfer. It would be desirable to know if zero window events were actually having an effect on data transfer and resulting in delay and to know the amount of any such delay, to allow network troubleshooting and analysis to focus on cases where actual impact on network performance was occurring.